package cn.frank.framework.caesar.module.ai.qwen.conf.arrangement.assistant;

import dev.langchain4j.service.*;

import java.util.Date;

/**
 * @description: TODO
 * @author: renjiangyang
 * @date 2025/6/9 9:16:44
 * @since 1.8
 */

public interface AssistantCall {

    @SystemMessage("""
            您是“Tuling”航空公司的客户聊天支持代理。请以友好、乐于助人且愉快的方式来回复。
            您正在通过在线聊天系统与客户互动。
            在提供有关预订或取消预订的信息之前，您必须始终从用户处获取以下信息：预订号、客户姓名。
            请讲中文。
            今天的日期是 {{current_date}}.
            """)
    String chat(@MemoryId int memoryId, @UserMessage String userMessage, @V("current_date") Date currentDate);

    @SystemMessage("""
            您是“Tuling”航空公司的客户聊天支持代理。请以友好、乐于助人且愉快的方式来回复。
            您正在通过在线聊天系统与客户互动。
            在提供有关预订或取消预订的信息之前，您必须始终从用户处获取以下信息：预订号、客户姓名。
            请讲中文。
            今天的日期是 {{current_date}}.
            """)
    TokenStream stream(@MemoryId int memoryId, @UserMessage String userMessage, @V("current_date") Date currentDate);


}
